Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] feat: New SDK docs #293

Merged
merged 194 commits into from
Sep 19, 2018
Merged

[WIP] feat: New SDK docs #293

merged 194 commits into from
Sep 19, 2018

Conversation

HazAT
Copy link
Member

@HazAT HazAT commented Aug 29, 2018

No description provided.

---

SDKs are configurable in many ways. The options are largely standardized between SDKs but there are
some differences to better acomodate platform peculiarities. Options are set when the SDK is first
Copy link
Contributor

@kamilogorek kamilogorek Sep 3, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

acommodate

{:.config-key}
### repos

For repository integration the repository identifiers need to be sent along. For more information
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

integration,

### attach-stacktrace

When enabled stacktraces are automatically attached to all messages logged. Note that stacktraces
are always attached to exceptions but when this is set stacktraces are also sent with messages. This
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This, for instance,

### send-default-pii

If this flag is enabled then certain personally identifyable information is added by active
integrations. Without this flag they are never added to the event to begin with. If possible
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

flag,

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

event,

### environment

Sets the environment. This string is freeform and not set by default. A release can be associated
with more than one environment to separate them im the UI (think `staging` vs `prod` or similar).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

them in

{:.config-key}
### send-default-pii

If this flag is enabled then certain personally identifyable information is added by active
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

identefiable

Can be used to supply a "server name". When provided the name of the server is sent along and
persisted in the event. Note that for many integrations the server name actually corresponds to
the device hostname even in situations where the machine is not actually a server. Most SDKs
will attempt to auto discover this value.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

auto-discover


* `never`: request bodies are never sent.
* `small`: only small request bodies will be captured where the cutoff for small depends on the SDK (typically 4KB)
* `medium`: medium sized requests and small requests will be captured. (typically 10KB)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium-sized

### before-breadcrumb

This function is called with an SDK specific breadcrumb object before the breadcrumb is added to the
scope. When nothign is returned from the function the breadcrumb is dropped.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nothing


When set a proxy can be configured that should be used for outbound requests. This is also used for
HTTPS requests unless a separate `https-proxy` is configured. Note however that not all SDKs
support a separate HTTPS proxy. SDKs will attempt to default to the system wide configured proxy
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

system-wide

{:.config-key}
### max-breadcrumbs

This variable controls the total amount of breadcrumbs that should be captured. This defaults
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if this is documented elsewhere, but this seems like a good place to tell how breadcrumbs work (i.e. it's a scrollback buffer, and this controls the size of that buffer)

{% endsupported %}

{:.config-key}
### with-locals
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does it make sense to default this to true while send-default-pii is defaulting to false?

This feature is off by default.

{:.config-key}
### send-default-pii
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure how this is rendered but there's no info on the default value


## Hooks

These options can be used to hook the SDK in various ways to customize the reporting of events.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This and the Transport Options are technically a subcategory of Common Options, right?

## Integration Configuration

For many platform SDKs integrations can be configured alongside it. On some platforms that
happens as part of the `init()` call, in some others different patterns apply.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

happen

queue and this queue is given a certain amount to drain pending events. The default is SDK specific
but typically around 2 seconds. Setting this value too low will most likely cause problems for
sending events from command line applications. Setting it too high will cause the application to
block for long time for users with network connectivity problems.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for a long

## Integration Configuration

For many platform SDKs integrations can be configured alongside it. On some platforms that
happens as part of the `init()` call, in some others different patterns apply.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

others,

### transport

This switches out the transport that is used to send events. How this works depends on the SDK. It
can for instance be used to capture events for unit-testing or to send it through some more complex
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It can, for instance,

When set a proxy can be configured that should be used for outbound requests. This is also used for
HTTPS requests unless a separate `https-proxy` is configured. Note however that not all SDKs
support a separate HTTPS proxy. SDKs will attempt to default to the system wide configured proxy
if possible. For instance on unix systems the `http_proxy` environment variable will be picked up.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

instance,

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

systems,

application startup:

```javascript
import * as sentry from '@sentry/electron';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

uppercase Sentry

* master:
  Manual setup instructions in settings.gradle (#309)
  Add link to GHE on Integrations page
  fix (ui): broken layout on certain pages due to flexbox
  Remove twitter, linkedin, bing
  build: Increase timeout
  Add a space
  fix: switch to jsx highlighting for react docs
  Fix: broken link to angular error handler docs
  remove log
  Handle empty search
  Document payload size for javascript SDK
@mitsuhiko mitsuhiko merged commit 22e7ff5 into master Sep 19, 2018
`culprit`

: The name of the culprit which caused this exception. This attribute is
deprecated.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be helpful if this documented the preferred alternative that replaces culprit.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no real replacement for this attribute. The server sets it now. To override it the client can supply it.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, thanks for clarifying. For context, I am trying to integrate logrus and sentry in go. Here's what they provide:

https://github.com/sirupsen/logrus/blob/v1.3.0/entry.go#L63-L64

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you have a single stacktrace frame i think it would be best to report a single thread with a stacktrace of a single frame.

@github-actions github-actions bot locked and limited conversation to collaborators Dec 17, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants